package com.ruoyi.station.domain;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * 机房对象 s_machine_room
 *
 * @author ruoyi
 * @date 2021-08-05
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(description = "机房实体类")
@TableName("s_machine_room")
public class SMachineRoom
{
    private static final long serialVersionUID=1L;

    /** 主键ID */
    @ApiModelProperty(value = "${comment}" )
    @TableId(value="ID" ,type = IdType.ASSIGN_UUID)
    private String id;

    /** 机房名称 */
    @Excel(name = "机房名称" )
    @ApiModelProperty(value = "机房名称" )
    private String machineRoomName;

    /** 所属站点 */
    @Excel(name = "所属站点" )
    @ApiModelProperty(value = "所属站点" )
    private String station;

    /** 机房类型 */
    @Excel(name = "机房类型" )
    @ApiModelProperty(value = "机房类型" )
    private String machineRoomType;

    /** 机房编号 */
    @Excel(name = "机房编号" )
    @ApiModelProperty(value = "机房编号" )
    private String machineRoomNum;

    /** 机房位置 */
    @Excel(name = "机房位置" )
    @ApiModelProperty(value = "机房位置" )
    private String machineRoomPlace;

    /** 走线方式 */
    @Excel(name = "走线方式" )
    @ApiModelProperty(value = "走线方式" )
    private String takeUpMode;

    /** 最大屏位数 */
    @Excel(name = "最大屏位数" )
    @ApiModelProperty(value = "最大屏位数" )
    private String maxScreenNumber;

    /** 已用屏位数 */
    @Excel(name = "已用屏位数" )
    @ApiModelProperty(value = "已用屏位数" )
    private String useScreenNumber;

    /** 产权单位 */
    @ApiModelProperty(value = "产权单位" )
    private String propertyUnit;

    /** 是否监控 */
    @Excel(name = "是否监控" )
    @ApiModelProperty(value = "是否监控" )
    private String monitoringFlag;

    /** 维护人 */
    @ApiModelProperty(value = "维护人" )
    private String maintainer;

    /** 填报部门ID */
    @ApiModelProperty(value = "填报部门ID" )
    private Long fillDeptId;

    /** 填报部门 */
    @Excel(name = "填报部门" )
    @ApiModelProperty(value = "填报部门" )
    private String fillDept;

    /** 填报人ID */
    @ApiModelProperty(value = "填报人ID" )
    private String fillById;

    /** 填报人 */
    @Excel(name = "填报人" )
    @ApiModelProperty(value = "填报人" )
    private String fillBy;

    /** 创建者 */
    private String createBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value =  "create_time",fill = FieldFill.INSERT)
    private Date createTime;

    /** 更新者 */
    private String updateBy;

    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(value =  "update_time",fill = FieldFill.UPDATE)
    private Date updateTime;

    /** 删除标志（0代表存在 2代表删除） */
    @ApiModelProperty(value = "删除标记" )
    @TableLogic(value = "0",delval = "2")
    private String delFlag;

    /**
     * 机柜数据
     */
    @TableField(exist = false)
    private List<SMachineCabinet> SMachineCabinets;

    /** 照片 */
    @Excel(name = "照片" )
    @ApiModelProperty(value = "照片" )
    private String fileList;
}
